package com.boco.modules.fdoc.service;

import java.util.List;
import java.util.Map;

import com.boco.modules.fdoc.model.ServicepackDetailEntity;
import com.boco.modules.fdoc.model.SigServicepackEntity;
import com.boco.modules.fdoc.vo.ServicepackDetailsVo;
import com.boco.modules.fdoc.vo.ServicepackVo;
import com.boco.modules.fdoc.vo.SigServicepackVo;

public interface SigServicepackService {
	/**
	 * 获取服务包总条数
	 * @return
	 */
	public Integer getCount();
	/**
	 * 获取所有服务包信息
	 * @return
	 */
	public List<SigServicepackEntity> getAll();
	/**
	 * 获取所有服务包信息
	 * @param servicepackVo 
	 * @return
	 */
	public List<ServicepackVo> getAllbyVo(ServicepackVo servicepackVo);
	/**
	 * 获取所有服务详细信息
	 * @return
	 */
	public List<SigServicepackVo> getAllDetails();
	/**
	 * 
	 * getDetailsByPackId:(根据服务包ID获取服务详情). <br/>
	 * @author q
	 * @param packId
	 * @return
	 */
	public List<ServicepackDetailsVo> getDetailsByPackId(Integer packId);
	/**
	 * 新增服务包
	 * @param servicepackEntity
	 * @return
	 */
	public int addPack(SigServicepackEntity servicepackEntity);
	/**
	 * 删除服务包
	 * @param id
	 * @return
	 */
	public int deletePack(Integer id);
	/**
	 * 修改服务包
	 * @param sEntity
	 * @return
	 */
	public int updatePack(SigServicepackEntity sEntity);
	/**
	 * 根据id获取服务包属性
	 * @param id
	 * @return
	 */
	public SigServicepackEntity getPackbyId(Integer id);
	/**
	 * 根据区划及服务包ID获取服务项目
	 * @param map
	 * @return
	 */
	public List<ServicepackDetailEntity> getDetailList(Map<String, Object> map);

	/**
	 * 分页获取服务相亲
	 * Title SigServicepackService.java
	 * Description: 
	 * @param sVo
	 * @return
	 * @author lzz
	 */
	public List<ServicepackDetailEntity> getDetailList(ServicepackDetailsVo sVo);

	/**
	 * 返回服务详情总条数
	 * Title SigServicepackService.java
	 * Description: 
	 * @param sVo
	 * @return
	 * @author lzz
	 */
	public Integer getDetailListCount(ServicepackDetailsVo sVo);

	/**
	 * 获取最大权值
	 * Title SigServicepackService.java
	 * Description: 
	 * @return
	 * @author lzz
	 */
	public Integer getMaxValue();
	/**
	 * 根据权值获取服务包
	 */
	public ServicepackVo getVoByValue(Integer a);

	
}
